﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;
using MTGScore_Helps.Resources;

namespace MTGScore_Helps
{
    public class Help
    {
        public Uri uri;
        public string name;
        public string language;
        public Help()
        {
            uri = new Uri("localhost", UriKind.RelativeOrAbsolute);
            name = "";
            language = "";
        }
        public Help(Uri uri, string name, string language)
        {
            this.uri = uri;
            this.name = name;
            this.language = language;
        }
    }
    public class Set
    {
        public string name;
        public List<Help> helps;
        public bool allowNavigation;
        public Set()
            : this("")
        {
        }
        public Set(string name)
        {
            this.name = name;
            helps = new List<Help>();
            allowNavigation = false;
        }
    }
    public static class Helps
    {
        public static List<Set> GetHelps()
        {
            string site = "http://fboscari.altervista.org/Magic/";
            List<Set> helps = new List<Set>();

            var mainGuide = new Set(Strings.Helps_MainGuide);
            mainGuide.helps.Add(new Help(new Uri(site + "MagicCompRules_20110401.htm", UriKind.Absolute), "", Strings.English));

            var planesWalker = new Set(Strings.Planeswalker);
            planesWalker.helps.Add(new Help(new Uri(site + "Planeswalker.htm", UriKind.Absolute), "", Strings.English));

            var MirrodinBesieged = new Set(Strings.MirrodinBesieged);
            MirrodinBesieged.helps.Add(new Help(new Uri(site + "MirrodinBesieged/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            MirrodinBesieged.helps.Add(new Help(new Uri(site + "MirrodinBesieged/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            MirrodinBesieged.helps.Add(new Help(new Uri(site + "MirrodinBesieged/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            MirrodinBesieged.helps.Add(new Help(new Uri(site + "MirrodinBesieged/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            MirrodinBesieged.helps.Add(new Help(new Uri(site + "MirrodinBesieged/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var ScarsOfMirrodin = new Set(Strings.ScarsOfMirrodin);
            ScarsOfMirrodin.helps.Add(new Help(new Uri(site + "ScarsOfMirrodin/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            ScarsOfMirrodin.helps.Add(new Help(new Uri(site + "ScarsOfMirrodin/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            ScarsOfMirrodin.helps.Add(new Help(new Uri(site + "ScarsOfMirrodin/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            ScarsOfMirrodin.helps.Add(new Help(new Uri(site + "ScarsOfMirrodin/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            ScarsOfMirrodin.helps.Add(new Help(new Uri(site + "ScarsOfMirrodin/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var Archenemy = new Set(Strings.Archenemy);
            Archenemy.helps.Add(new Help(new Uri(site + "Archenemy/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));

            var RiseOfTheEldrazi = new Set(Strings.RiseOfTheEldrazi);

            RiseOfTheEldrazi.helps.Add(new Help(new Uri(site + "RiseOfTheEldrazi/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            RiseOfTheEldrazi.helps.Add(new Help(new Uri(site + "RiseOfTheEldrazi/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            RiseOfTheEldrazi.helps.Add(new Help(new Uri(site + "RiseOfTheEldrazi/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            RiseOfTheEldrazi.helps.Add(new Help(new Uri(site + "RiseOfTheEldrazi/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            RiseOfTheEldrazi.helps.Add(new Help(new Uri(site + "RiseOfTheEldrazi/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var Worldwake = new Set(Strings.Worldwake);

            Worldwake.helps.Add(new Help(new Uri(site + "Worldwake/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            Worldwake.helps.Add(new Help(new Uri(site + "Worldwake/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            Worldwake.helps.Add(new Help(new Uri(site + "Worldwake/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            Worldwake.helps.Add(new Help(new Uri(site + "Worldwake/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            Worldwake.helps.Add(new Help(new Uri(site + "Worldwake/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var Zendikar = new Set(Strings.Zendikar);

            Zendikar.helps.Add(new Help(new Uri(site + "Zendikar/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            Zendikar.helps.Add(new Help(new Uri(site + "Zendikar/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            Zendikar.helps.Add(new Help(new Uri(site + "Zendikar/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            Zendikar.helps.Add(new Help(new Uri(site + "Zendikar/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            Zendikar.helps.Add(new Help(new Uri(site + "Zendikar/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var Planechase = new Set(Strings.Planechase);

            Planechase.helps.Add(new Help(new Uri(site + "Planechase/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));

            var MastersEditionIII = new Set(Strings.MastersEditionIII);

            MastersEditionIII.helps.Add(new Help(new Uri(site + "MastersEditionIII/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));

            var AlaraReborn = new Set(Strings.AlaraReborn);

            AlaraReborn.helps.Add(new Help(new Uri(site + "AlaraReborn/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            AlaraReborn.helps.Add(new Help(new Uri(site + "AlaraReborn/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            AlaraReborn.helps.Add(new Help(new Uri(site + "AlaraReborn/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            AlaraReborn.helps.Add(new Help(new Uri(site + "AlaraReborn/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            AlaraReborn.helps.Add(new Help(new Uri(site + "AlaraReborn/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var Conflux = new Set(Strings.Conflux);

            Conflux.helps.Add(new Help(new Uri(site + "Conflux/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            Conflux.helps.Add(new Help(new Uri(site + "Conflux/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            Conflux.helps.Add(new Help(new Uri(site + "Conflux/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            Conflux.helps.Add(new Help(new Uri(site + "Conflux/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            Conflux.helps.Add(new Help(new Uri(site + "Conflux/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var ShardsOfAlara = new Set(Strings.ShardsOfAlara);

            ShardsOfAlara.helps.Add(new Help(new Uri(site + "ShardsOfAlara/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            ShardsOfAlara.helps.Add(new Help(new Uri(site + "ShardsOfAlara/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            ShardsOfAlara.helps.Add(new Help(new Uri(site + "ShardsOfAlara/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            ShardsOfAlara.helps.Add(new Help(new Uri(site + "ShardsOfAlara/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            ShardsOfAlara.helps.Add(new Help(new Uri(site + "ShardsOfAlara/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var MastersEditionII = new Set(Strings.MastersEditionII);

            MastersEditionII.helps.Add(new Help(new Uri(site + "MastersEditionII/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));

            var Eventide = new Set(Strings.Eventide);

            Eventide.helps.Add(new Help(new Uri(site + "Eventide/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            Eventide.helps.Add(new Help(new Uri(site + "Eventide/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            Eventide.helps.Add(new Help(new Uri(site + "Eventide/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            Eventide.helps.Add(new Help(new Uri(site + "Eventide/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            Eventide.helps.Add(new Help(new Uri(site + "Eventide/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var Shadowmoor = new Set(Strings.Shadowmoor);

            Shadowmoor.helps.Add(new Help(new Uri(site + "Shadowmoor/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            Shadowmoor.helps.Add(new Help(new Uri(site + "Shadowmoor/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            Shadowmoor.helps.Add(new Help(new Uri(site + "Shadowmoor/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            Shadowmoor.helps.Add(new Help(new Uri(site + "Shadowmoor/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            Shadowmoor.helps.Add(new Help(new Uri(site + "Shadowmoor/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var Morningtide = new Set(Strings.Morningtide);

            Morningtide.helps.Add(new Help(new Uri(site + "Morningtide/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            Morningtide.helps.Add(new Help(new Uri(site + "Morningtide/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            Morningtide.helps.Add(new Help(new Uri(site + "Morningtide/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            Morningtide.helps.Add(new Help(new Uri(site + "Morningtide/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            Morningtide.helps.Add(new Help(new Uri(site + "Morningtide/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var Lorwyn = new Set(Strings.Lorwyn);

            Lorwyn.helps.Add(new Help(new Uri(site + "Lorwyn/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            Lorwyn.helps.Add(new Help(new Uri(site + "Lorwyn/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            Lorwyn.helps.Add(new Help(new Uri(site + "Lorwyn/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            Lorwyn.helps.Add(new Help(new Uri(site + "Lorwyn/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            Lorwyn.helps.Add(new Help(new Uri(site + "Lorwyn/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var MastersEdition = new Set(Strings.MastersEdition);

            MastersEdition.helps.Add(new Help(new Uri(site + "MastersEdition/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));

            var FutureSight = new Set(Strings.FutureSight);

            FutureSight.helps.Add(new Help(new Uri(site + "FutureSight/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            FutureSight.helps.Add(new Help(new Uri(site + "FutureSight/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            FutureSight.helps.Add(new Help(new Uri(site + "FutureSight/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            FutureSight.helps.Add(new Help(new Uri(site + "FutureSight/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            FutureSight.helps.Add(new Help(new Uri(site + "FutureSight/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));

            var PlanarChaos = new Set(Strings.PlanarChaos);

            PlanarChaos.helps.Add(new Help(new Uri(site + "PlanarChaos/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian));
            PlanarChaos.helps.Add(new Help(new Uri(site + "PlanarChaos/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English));
            PlanarChaos.helps.Add(new Help(new Uri(site + "PlanarChaos/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish));
            PlanarChaos.helps.Add(new Help(new Uri(site + "PlanarChaos/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French));
            PlanarChaos.helps.Add(new Help(new Uri(site + "PlanarChaos/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German));


            helps.Add(new Set(Strings.MagicTournamentRules)
            {
                allowNavigation = true,
                helps = new List<Help>(){
                    new Help(new Uri(site + "MagicTournamentRules/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "MagicTournamentRules/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                }
            });

            helps.Add(new Set(Strings.MagicInfractionProcedureGuide)
            {
                allowNavigation = true,
                helps = new List<Help>(){
                    new Help(new Uri(site + "MagicInfractionProcedureGuide/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "MagicInfractionProcedureGuide/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                }
            });

            helps.Add(new Set(Strings.MagicJudgingatRegularREL)
            {
                allowNavigation = true,
                helps = new List<Help>(){
                    new Help(new Uri(site + "MagicJudgingatRegularREL/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "MagicJudgingatRegularREL/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                }
            });


            helps.Add(mainGuide);

            helps.Add(new Set(" "));
            helps.Add(new Set(Strings.Others));
            helps.Add(planesWalker);
            helps.Add(new Set(" "));
            helps.Add(new Set(Strings.Expansions));
            helps.Add(MirrodinBesieged);
            helps.Add(ScarsOfMirrodin);
            helps.Add(Archenemy);
            helps.Add(RiseOfTheEldrazi);
            helps.Add(Worldwake);
            helps.Add(Zendikar);
            helps.Add(Planechase);
            helps.Add(MastersEditionIII);
            helps.Add(AlaraReborn);
            helps.Add(Conflux);
            helps.Add(ShardsOfAlara);
            helps.Add(MastersEditionII);
            helps.Add(Eventide);
            helps.Add(Shadowmoor);
            helps.Add(Morningtide);
            helps.Add(Lorwyn);
            helps.Add(MastersEdition);
            helps.Add(FutureSight);
            helps.Add(PlanarChaos);

            helps.Add(new Set(Strings.TimeSpiral)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "TimeSpiral/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "TimeSpiral/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "TimeSpiral/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "TimeSpiral/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    //new Help(new Uri(site + "PlanarChaos/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });

            helps.Add(new Set(Strings.Coldsnap)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Coldsnap/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Coldsnap/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Coldsnap/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Coldsnap/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Coldsnap/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });

            helps.Add(new Set(Strings.Dissension)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Dissension/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Dissension/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Dissension/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Dissension/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Dissension/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });

            helps.Add(new Set(Strings.Guildpact)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Guildpact/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Guildpact/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Guildpact/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Guildpact/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Guildpact/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });

            helps.Add(new Set(Strings.Ravnica_CityOfGuilds)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Ravnica_CityOfGuilds/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Ravnica_CityOfGuilds/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Ravnica_CityOfGuilds/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Ravnica_CityOfGuilds/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Ravnica_CityOfGuilds/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });

            helps.Add(new Set(Strings.SaviorsOfKamigawa)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "SaviorsOfKamigawa/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/sok", UriKind.Absolute), "" , Strings.FAQ)
                }
            });


            helps.Add(new Set(Strings.BetrayersOfKamigawa)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "BetrayersOfKamigawa/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "BetrayersOfKamigawa/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "BetrayersOfKamigawa/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "BetrayersOfKamigawa/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "BetrayersOfKamigawa/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });

            helps.Add(new Set(Strings.ChampionsOfKamigawa)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "ChampionsOfKamigawa/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "ChampionsOfKamigawa/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "ChampionsOfKamigawa/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "ChampionsOfKamigawa/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "ChampionsOfKamigawa/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });

            helps.Add(new Set(Strings.FifthDawn)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "FifthDawn/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/fifthdawn", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Darksteel)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Darksteel/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Darksteel/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Darksteel/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Darksteel/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Darksteel/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German),
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/darksteel", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Mirrodin)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Mirrodin/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Mirrodin/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Mirrodin/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Mirrodin/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Mirrodin/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German),
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/mirrodin", UriKind.Absolute), "" , Strings.FAQ)
                }
            });


            helps.Add(new Set(Strings.Scourge)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Scourge/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Scourge/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Scourge/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    //new Help(new Uri(site + "Scourge/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    //new Help(new Uri(site + "Scourge/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German),
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/scourge", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Legions)
            {
                helps = new List<Help>(){
                    //new Help(new Uri(site + "Legions/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Legions/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    //new Help(new Uri(site + "Legions/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Legions/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Legions/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German),
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/legions", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Onslaught)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Onslaught/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Onslaught/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Onslaught/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Onslaught/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Onslaught/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German),
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/onslaught", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Judgment)
            {
                helps = new List<Help>(){
                    //new Help(new Uri(site + "Judgment/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Judgment/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    //new Help(new Uri(site + "Judgment/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    //new Help(new Uri(site + "Judgment/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    //new Help(new Uri(site + "Judgment/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German),
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/judgment", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Torment)
            {
                helps = new List<Help>(){
                    //new Help(new Uri(site + "Judgment/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Torment/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    //new Help(new Uri(site + "Judgment/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    //new Help(new Uri(site + "Judgment/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    //new Help(new Uri(site + "Judgment/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German),
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/torment", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Odyssey)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/default.asp?x=magic/faq/odyssey", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Apocalypse)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/magic/expert/apocalypse/ap_faq.asp", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Planeshift)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/magic/expert/planeshift/planeshift_faq.txt", UriKind.Absolute), "" , Strings.FAQ)
                }
            });


            helps.Add(new Set(Strings.Invasion)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/magic/expert/invasion/invasion_faq.txt", UriKind.Absolute), "" , Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Magic2011)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Magic2011/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Magic2011/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Magic2011/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Magic2011/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Magic2011/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });

            helps.Add(new Set(Strings.Magic2010)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Magic2010/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    new Help(new Uri(site + "Magic2010/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "Magic2010/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "Magic2010/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "Magic2010/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });


            helps.Add(new Set(Strings.NinthEdition)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "NinthEdition/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri("http://www.wizards.com/Magic/TCG/Article.aspx?x=magic/faq/9e", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });
            helps.Add(new Set(Strings.EighthEdition)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "EighthEdition/it.htm", UriKind.RelativeOrAbsolute), "", Strings.Italian),
                    //new Help(new Uri(site + "TenthEdition/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English),
                    new Help(new Uri(site + "EighthEdition/es.htm", UriKind.RelativeOrAbsolute), "", Strings.Spanish),
                    new Help(new Uri(site + "EighthEdition/fr.htm", UriKind.RelativeOrAbsolute), "", Strings.French),
                    new Help(new Uri(site + "EighthEdition/de.htm", UriKind.RelativeOrAbsolute), "", Strings.German)
                }
            });

            helps.Add(new Set(Strings.SeventhEdition)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/magic/advanced/7e/7EFAQ.txt", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.SixthEdition)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/magic/advanced/6e/C6EFAQ.txt", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Prophecy)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/magic/expert/prophecy/pr_faq.asp", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Nemesis)
                        {
                            helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/Sideboard/mtg_article.asp?sb20000201e", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
                        });

            helps.Add(new Set(Strings.MercadianMasques)
                        {
                            helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/magic/expert/mercadianmasques/features.asp", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
                        });

            helps.Add(new Set(Strings.UrzasDestiny)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/magic/expert/Urzas_Destiny/UD_Rules.asp", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });


            helps.Add(new Set(Strings.UrzasSaga)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "UrzasSaga/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English)
                }
            });

            helps.Add(new Set(Strings.Exodus)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Exodus/en.htm", UriKind.RelativeOrAbsolute), "", Strings.English)
                }
            });

            helps.Add(new Set(Strings.Stronghold)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Stronghold/faq.htm", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Tempest)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Tempest/faq.htm", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Weatherlight)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Weatherlight/faq.htm", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Visions)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Visions/faq.htm", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Mirage)
            {
                helps = new List<Help>(){
                    new Help(new Uri(site + "Mirage/faq.htm", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Alliances)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/Magic/TCG/Article.aspx?x=magic/faq/iceage", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.Homelands)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/magic/expert/Homelands/Homelands_FAQ.asp", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            helps.Add(new Set(Strings.IceAge)
            {
                helps = new List<Help>(){
                    new Help(new Uri("http://www.wizards.com/Magic/TCG/Article.aspx?x=magic/faq/iceage", UriKind.RelativeOrAbsolute), "", Strings.FAQ)
                }
            });

            return helps;
        }
    }
}
